package com.vivo.customer.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class CustomerCreditExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public CustomerCreditExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("Id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("Id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("Id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("Id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("Id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("Id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("Id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("Id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("Id like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("Id not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("Id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("Id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("Id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("Id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdIsNull() {
            addCriterion("FKCustomer_ID is null");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdIsNotNull() {
            addCriterion("FKCustomer_ID is not null");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdEqualTo(String value) {
            addCriterion("FKCustomer_ID =", value, "fkcustomerId");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdNotEqualTo(String value) {
            addCriterion("FKCustomer_ID <>", value, "fkcustomerId");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdGreaterThan(String value) {
            addCriterion("FKCustomer_ID >", value, "fkcustomerId");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdGreaterThanOrEqualTo(String value) {
            addCriterion("FKCustomer_ID >=", value, "fkcustomerId");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdLessThan(String value) {
            addCriterion("FKCustomer_ID <", value, "fkcustomerId");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdLessThanOrEqualTo(String value) {
            addCriterion("FKCustomer_ID <=", value, "fkcustomerId");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdLike(String value) {
            addCriterion("FKCustomer_ID like", value, "fkcustomerId");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdNotLike(String value) {
            addCriterion("FKCustomer_ID not like", value, "fkcustomerId");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdIn(List<String> values) {
            addCriterion("FKCustomer_ID in", values, "fkcustomerId");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdNotIn(List<String> values) {
            addCriterion("FKCustomer_ID not in", values, "fkcustomerId");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdBetween(String value1, String value2) {
            addCriterion("FKCustomer_ID between", value1, value2, "fkcustomerId");
            return (Criteria) this;
        }

        public Criteria andFkcustomerIdNotBetween(String value1, String value2) {
            addCriterion("FKCustomer_ID not between", value1, value2, "fkcustomerId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdIsNull() {
            addCriterion("FKRoom_ID is null");
            return (Criteria) this;
        }

        public Criteria andFkroomIdIsNotNull() {
            addCriterion("FKRoom_ID is not null");
            return (Criteria) this;
        }

        public Criteria andFkroomIdEqualTo(String value) {
            addCriterion("FKRoom_ID =", value, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdNotEqualTo(String value) {
            addCriterion("FKRoom_ID <>", value, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdGreaterThan(String value) {
            addCriterion("FKRoom_ID >", value, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdGreaterThanOrEqualTo(String value) {
            addCriterion("FKRoom_ID >=", value, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdLessThan(String value) {
            addCriterion("FKRoom_ID <", value, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdLessThanOrEqualTo(String value) {
            addCriterion("FKRoom_ID <=", value, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdLike(String value) {
            addCriterion("FKRoom_ID like", value, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdNotLike(String value) {
            addCriterion("FKRoom_ID not like", value, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdIn(List<String> values) {
            addCriterion("FKRoom_ID in", values, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdNotIn(List<String> values) {
            addCriterion("FKRoom_ID not in", values, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdBetween(String value1, String value2) {
            addCriterion("FKRoom_ID between", value1, value2, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andFkroomIdNotBetween(String value1, String value2) {
            addCriterion("FKRoom_ID not between", value1, value2, "fkroomId");
            return (Criteria) this;
        }

        public Criteria andCreditTypeIsNull() {
            addCriterion("Credit_Type is null");
            return (Criteria) this;
        }

        public Criteria andCreditTypeIsNotNull() {
            addCriterion("Credit_Type is not null");
            return (Criteria) this;
        }

        public Criteria andCreditTypeEqualTo(String value) {
            addCriterion("Credit_Type =", value, "creditType");
            return (Criteria) this;
        }

        public Criteria andCreditTypeNotEqualTo(String value) {
            addCriterion("Credit_Type <>", value, "creditType");
            return (Criteria) this;
        }

        public Criteria andCreditTypeGreaterThan(String value) {
            addCriterion("Credit_Type >", value, "creditType");
            return (Criteria) this;
        }

        public Criteria andCreditTypeGreaterThanOrEqualTo(String value) {
            addCriterion("Credit_Type >=", value, "creditType");
            return (Criteria) this;
        }

        public Criteria andCreditTypeLessThan(String value) {
            addCriterion("Credit_Type <", value, "creditType");
            return (Criteria) this;
        }

        public Criteria andCreditTypeLessThanOrEqualTo(String value) {
            addCriterion("Credit_Type <=", value, "creditType");
            return (Criteria) this;
        }

        public Criteria andCreditTypeLike(String value) {
            addCriterion("Credit_Type like", value, "creditType");
            return (Criteria) this;
        }

        public Criteria andCreditTypeNotLike(String value) {
            addCriterion("Credit_Type not like", value, "creditType");
            return (Criteria) this;
        }

        public Criteria andCreditTypeIn(List<String> values) {
            addCriterion("Credit_Type in", values, "creditType");
            return (Criteria) this;
        }

        public Criteria andCreditTypeNotIn(List<String> values) {
            addCriterion("Credit_Type not in", values, "creditType");
            return (Criteria) this;
        }

        public Criteria andCreditTypeBetween(String value1, String value2) {
            addCriterion("Credit_Type between", value1, value2, "creditType");
            return (Criteria) this;
        }

        public Criteria andCreditTypeNotBetween(String value1, String value2) {
            addCriterion("Credit_Type not between", value1, value2, "creditType");
            return (Criteria) this;
        }

        public Criteria andContentIsNull() {
            addCriterion("Content is null");
            return (Criteria) this;
        }

        public Criteria andContentIsNotNull() {
            addCriterion("Content is not null");
            return (Criteria) this;
        }

        public Criteria andContentEqualTo(String value) {
            addCriterion("Content =", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentNotEqualTo(String value) {
            addCriterion("Content <>", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentGreaterThan(String value) {
            addCriterion("Content >", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentGreaterThanOrEqualTo(String value) {
            addCriterion("Content >=", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentLessThan(String value) {
            addCriterion("Content <", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentLessThanOrEqualTo(String value) {
            addCriterion("Content <=", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentLike(String value) {
            addCriterion("Content like", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentNotLike(String value) {
            addCriterion("Content not like", value, "content");
            return (Criteria) this;
        }

        public Criteria andContentIn(List<String> values) {
            addCriterion("Content in", values, "content");
            return (Criteria) this;
        }

        public Criteria andContentNotIn(List<String> values) {
            addCriterion("Content not in", values, "content");
            return (Criteria) this;
        }

        public Criteria andContentBetween(String value1, String value2) {
            addCriterion("Content between", value1, value2, "content");
            return (Criteria) this;
        }

        public Criteria andContentNotBetween(String value1, String value2) {
            addCriterion("Content not between", value1, value2, "content");
            return (Criteria) this;
        }

        public Criteria andCreateDateIsNull() {
            addCriterion("Create_date is null");
            return (Criteria) this;
        }

        public Criteria andCreateDateIsNotNull() {
            addCriterion("Create_date is not null");
            return (Criteria) this;
        }

        public Criteria andCreateDateEqualTo(Date value) {
            addCriterion("Create_date =", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotEqualTo(Date value) {
            addCriterion("Create_date <>", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateGreaterThan(Date value) {
            addCriterion("Create_date >", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateGreaterThanOrEqualTo(Date value) {
            addCriterion("Create_date >=", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateLessThan(Date value) {
            addCriterion("Create_date <", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateLessThanOrEqualTo(Date value) {
            addCriterion("Create_date <=", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateIn(List<Date> values) {
            addCriterion("Create_date in", values, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotIn(List<Date> values) {
            addCriterion("Create_date not in", values, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateBetween(Date value1, Date value2) {
            addCriterion("Create_date between", value1, value2, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotBetween(Date value1, Date value2) {
            addCriterion("Create_date not between", value1, value2, "createDate");
            return (Criteria) this;
        }

        public Criteria andLastmodDateIsNull() {
            addCriterion("lastMod_date is null");
            return (Criteria) this;
        }

        public Criteria andLastmodDateIsNotNull() {
            addCriterion("lastMod_date is not null");
            return (Criteria) this;
        }

        public Criteria andLastmodDateEqualTo(Date value) {
            addCriterion("lastMod_date =", value, "lastmodDate");
            return (Criteria) this;
        }

        public Criteria andLastmodDateNotEqualTo(Date value) {
            addCriterion("lastMod_date <>", value, "lastmodDate");
            return (Criteria) this;
        }

        public Criteria andLastmodDateGreaterThan(Date value) {
            addCriterion("lastMod_date >", value, "lastmodDate");
            return (Criteria) this;
        }

        public Criteria andLastmodDateGreaterThanOrEqualTo(Date value) {
            addCriterion("lastMod_date >=", value, "lastmodDate");
            return (Criteria) this;
        }

        public Criteria andLastmodDateLessThan(Date value) {
            addCriterion("lastMod_date <", value, "lastmodDate");
            return (Criteria) this;
        }

        public Criteria andLastmodDateLessThanOrEqualTo(Date value) {
            addCriterion("lastMod_date <=", value, "lastmodDate");
            return (Criteria) this;
        }

        public Criteria andLastmodDateIn(List<Date> values) {
            addCriterion("lastMod_date in", values, "lastmodDate");
            return (Criteria) this;
        }

        public Criteria andLastmodDateNotIn(List<Date> values) {
            addCriterion("lastMod_date not in", values, "lastmodDate");
            return (Criteria) this;
        }

        public Criteria andLastmodDateBetween(Date value1, Date value2) {
            addCriterion("lastMod_date between", value1, value2, "lastmodDate");
            return (Criteria) this;
        }

        public Criteria andLastmodDateNotBetween(Date value1, Date value2) {
            addCriterion("lastMod_date not between", value1, value2, "lastmodDate");
            return (Criteria) this;
        }

        public Criteria andAdduseridIsNull() {
            addCriterion("addUserid is null");
            return (Criteria) this;
        }

        public Criteria andAdduseridIsNotNull() {
            addCriterion("addUserid is not null");
            return (Criteria) this;
        }

        public Criteria andAdduseridEqualTo(String value) {
            addCriterion("addUserid =", value, "adduserid");
            return (Criteria) this;
        }

        public Criteria andAdduseridNotEqualTo(String value) {
            addCriterion("addUserid <>", value, "adduserid");
            return (Criteria) this;
        }

        public Criteria andAdduseridGreaterThan(String value) {
            addCriterion("addUserid >", value, "adduserid");
            return (Criteria) this;
        }

        public Criteria andAdduseridGreaterThanOrEqualTo(String value) {
            addCriterion("addUserid >=", value, "adduserid");
            return (Criteria) this;
        }

        public Criteria andAdduseridLessThan(String value) {
            addCriterion("addUserid <", value, "adduserid");
            return (Criteria) this;
        }

        public Criteria andAdduseridLessThanOrEqualTo(String value) {
            addCriterion("addUserid <=", value, "adduserid");
            return (Criteria) this;
        }

        public Criteria andAdduseridLike(String value) {
            addCriterion("addUserid like", value, "adduserid");
            return (Criteria) this;
        }

        public Criteria andAdduseridNotLike(String value) {
            addCriterion("addUserid not like", value, "adduserid");
            return (Criteria) this;
        }

        public Criteria andAdduseridIn(List<String> values) {
            addCriterion("addUserid in", values, "adduserid");
            return (Criteria) this;
        }

        public Criteria andAdduseridNotIn(List<String> values) {
            addCriterion("addUserid not in", values, "adduserid");
            return (Criteria) this;
        }

        public Criteria andAdduseridBetween(String value1, String value2) {
            addCriterion("addUserid between", value1, value2, "adduserid");
            return (Criteria) this;
        }

        public Criteria andAdduseridNotBetween(String value1, String value2) {
            addCriterion("addUserid not between", value1, value2, "adduserid");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}